草庐IT

TypeScript 模块

全部标签

javascript - 从模块中调用 Node.js 模块函数

我正在尝试编写一个Node模块以清理我的代码并将其分离到不同的文件中。考虑下面的代码:module.exports={Hello:function(request,reply){returnreply("Hello"+World());},World:function(){return"World";}}如果我导入上述模块并使用Hello函数作为特定路由的处理程序,我会收到HTTP500内部服务器错误。如果我将Hello函数更改为,我已将问题缩小到对World()的调用Hello:function(request,reply){returnreply("HelloWorld");}然后

javascript - 如何用 Jest 模拟第三方模块

我的测试目标中有当前导入:importsharpfrom'sharp'并在我的同一个测试目标中使用它:returnsharp(local_read_file).raw().toBuffer().then(outputBuffer=>{在我的测试中,我正在执行以下操作来模拟sharp函数:jest.mock('sharp',()=>{raw:jest.fn()toBuffer:jest.fn()then:jest.fn()})但我得到:return(0,_sharp2.default)(local_read_file).^TypeError:(0,_sharp2.default)isno

javascript - typescript :对象到类

假设我有一个类C和一个对象O的实例(来自JSON)。classC{str:string;num:number;}varo=JSON.parse("{\"num\":123,\"str\":\"abc\"}");有没有一种方法可以用o分配/初始化C的实例,并检查未定义的值以及类型,而无需在复制构造函数/函数中自行完成?如果值缺失/未定义或类型不匹配,我希望得到错误或异常。谢谢! 最佳答案 您可以使用Object.assign:classC{str:string;num:number;}varo=JSON.parse("{\"num\"

javascript - 单元测试 AngularJS 模块 Controller

我正在查看TODOMVCAngularJS示例,我看到该应用程序被定义为一个模块。vartodomvc=angular.module('todomvc',[]);在Controller内部,我看到它们被定义为:todomvc.controller('TodoCtrl',functionTodoCtrl($scope,$location,todoStorage,filterFilter){//...});我的问题涉及单元测试...如何为该类编写单元测试?我试过这样的事情:describe('TodoCtrl',function(){varcontroller;beforeEach(fun

javascript - 在 TypeScript 中实现接口(interface)原型(prototype)

我已经为我的服务结果创建了一个TypeScript接口(interface)。现在我想为我的两个函数定义一个基本功能。问题是我得到一个错误:Theproperty'ServiceResult'doesnotexistonvalueoftype'Support'.我使用WebStorm进行开发(VS2012让我感到紧张,因为大型项目卡住-等待更好的集成:P)。这是我的做法:moduleSupport{exportinterfaceServiceResultextendsObject{Error?:ServiceError;Check?():void;GetErrorMessage?():

javascript - 跨文件的 Typescript 全局变量

我在没有模块或类的.ts文件中创建了一个变量。它看起来就像一个普通的JavaScript文件。我希望这个变量可以在一个变量内的类内的另一个.ts文件中访问。例如我有:foo.tsvarfoo="somestuff";bar.tsmoduleBar{exportclassBarClass{functiongetFoo(){returnfoo;}}}我不确定这是最好的方法。我试过使用window.bar全局,但这似乎不起作用。我是TypeScript的新手,正在进入一个更大的代码库,所以如果您需要任何进一步的说明,请告诉我。谢谢! 最佳答案

javascript - 如何在括号中编写 TypeScript 和 CoffeeScript?

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion我想在Brackets代码编辑器中编写TypeScript和CoffeeScript,但我遇到了困难。我如何将它编译成vanillajs?如何在html页面引用它?

javascript - TypeScript 在 Namespace 下扩展 JQuery

我正在尝试通过TypeScript中的函数扩展默认的JQuery接口(interface)和默认对象jQuery代码///namespaceMyNameSpace{var$=jQuery;exportinterfaceJQuery{test(options:Object):JQuery;}$.fn.test=function(options:Object):JQuery{if(this.length===0){console.log('Error!');returnthis;}console.log(options);returnthis;}exportvartestBody=func

javascript - 如何知道 npm `unzip` 模块何时完成解压缩文件?

我正在使用npm的unzip模块来提取zip存档的内容。我需要知道它何时完成提取以及文件已完全写入磁盘。我的代码:fs.createReadStream('master.zip').pipe(unzip.Extract({path:'gitdownloads/repo'}));我尝试过的:我的第一个想法是我可以接入流并监听完成事件,但是unzip只接受输入:它不会返回另一个流。我还查看了unzip模块是否有“完成”回调。运气不好。 最佳答案 来自githubREADMEExtractemitsthe'close'eventoncet

javascript - TypeScript:TypedArray 的泛型类型定义

我正在尝试编写一个函数,通过将任意TypedArray作为输入来扩展/缩小TypedArray,并返回一个具有不同大小的新的相同类型的TypedArray,并将原始元素复制到其中。例如,当您通过时,newUint32Array([1,2,3])新尺寸5,它将返回newUint32Array([1,2,3,0,0]).exportconstresize=(source:ArrayLike,newSize:number,):ArrayLike=>{if(!source.length){returnnewsource.constructor(newSize);}newSize=typeofn